Inference engines of conventional expert systems utilize a frame and production rules. The term "frame" as used herein means a mechanism for chaining a kind of data base defining mutual relations between attributes concerning facts or observations, etc., or describing definitions, etc., of values of such attributes; "production rules" means a mechanism for chaining deductive inferences.
Deductive inference is performed by citing a list of knowledge for inference "if A, then B", that is, rules.
Rules can be described as follows:
a) If "hot", then "possibly fever".
b) If "temperature&gt;38.degree. C.", then "possibly fever".
In rule a) the truth or falsehood of a conclusion is decided according to truth or falsehood of establishment of phenomenon in a conditional portion. In rule b) truth or falsehood of a conclusion is decided according to whether a value of phenomenon cited in the conditional portion exceeds a certain fixed threshold value.
Inference is performed by tracing, syllogistically, in other words in a chain, rules in a knowledge base listing rules. In this case, a rule is described SO that a final conclusion of a given problem is obtained at the end of inference chain.
In some cases, such as in design planning or fault detection for a plant, all processes up to a final conclusion may not necessarily be expressed by rules or frames.
Thus, for design and planning, an index is calculated representing an amount of some merit or some risk for a condition which is to be cited in a following inference. This is frequently done by citing some simple evaluation formulae in a chain depending upon the content of the intermediate conclusion.
In fault detection applications in order to check the possibility of a fault postulated as an intermediate supposition obtained from observation or investigation, specific formulae are frequently used in a chain together with data. Such data include observation/investigation data and specification/design data which is used to confirm whether or not a fault satisfies a formula describing it phenomenally, or which is used to calculate parameters representing a feature of the fault.
However, it is difficult for a conventional inference engine to realize a process in which the execution of a deductive inference chain is interrupted and a calculation is performed by citing specific formula in a chain. In order to accommodate this, processing must temporarily exit from an inference engine described by a language such as LISP, etc., and an operation process mechanism described by a language such as FORTRAN, etc., (i.e., a language different from that of the inference language). This leads to an increase in the processing time and a complicated mechanism, resulting in a system whose utility is low.
One feature of an expert system is causing knowledge in a knowledge base which is an object of inference to be realized. Knowledge represented by a calculation formula cannot be actualized like a program of an existing language such as FORTRAN, even by an expert system capable of calculating in some way. This is because a conventional knowledge base calculation formula does not adequately express an engineer's knowledge. Even if a conventional knowledge base actualizes inference knowledge, the fact that the calculation formulas have both actual meanings and also meanings based on technical evaluation, is ignored.
Though calculation formulas include the relevant technical content, there is a limit on the accuracy of mathematical expression of the technical content due to the accuracy of modelling. Accuracy of mathematical expression determines the accuracy of a calculation result according to the formula currently involved as well as the accuracy of the constants and variables used therein.
Though every formula has an accuracy of mathematical expression dependent upon the problem to be handled. Conventional expert systems have no function for describing this accuracy and for evaluating the accuracy of the calculation results using such a description.
Considering the technical meaning of mathematical formula and the description of knowledge expressed by the formula, units of constants and variables used in the formula must be attached as knowledge, since values of constants and variables (attribute values) themselves differ with different units. However, this is not actualized in a conventional systems.
For such constants and variables, an expert in a technical field has "typical values" as his knowledge. This is actualized in the conventional system as default values. Moreover, there is an "existing range" of such constants and variables that is the expert's knowledge in the field. The expert has as his knowledge an "existing range" from which, when a value outside this range is obtained, he can decide the value as being an "erroneous measurement" or "erroneous calculation".
However, the conventional system does not do this. That is, a conventional calculation system including an expert system is not capable of expressing the background technical knowledge of such calculation formula, knowledge of accuracy of mathematical expression in the formula and knowledge such as the "unit" of a constant and a variable and "existing ranges of value" inherent to the formula.
This lead to problems including a lack of capability of knowledge expression in the knowledge base, a lack of ability of the expert system to function with the knowledge base and a limited expansion range of adaptation and actual application.
An object of the present invention is to provide an industrial expert system capable of performing, a calculation of an index according to an evaluation formula during rule-based inferencing of plant design and planning, detection of the existence of a fault according to a specific formula during rule-based inferencing of fault detection and calculation of parameters representing features of a fault.
Other objects of the present invention are to improve the description capability of a knowledge base, to facilitate obtaining knowledge and to improve adaptation, adaptation range and the inferencing capability of the expert system. This is accomplished by making a description form of listed calculation formula the calculation formulas describing portions of a knowledge base, which is calculated by a calculation mechanism according to the present invention. This approach is as close to "storage form of expert" or "description form on technical material expert usually uses" as possible, in the same sense that a rule description is made as close to expert knowledge as possible.
A further object of the present invention is to further improve the description capability of the knowledge base by providing expressions of knowledge of expression accuracy of mathematical formula and knowledge of "unit" of constants and variables and "existing range of values", to further improve the capability of expert system.
According to the present invention, these objects are achieved by an industrial expert system for use in designing a plant and in detecting faults therein. The expert system having a knowledge base including a rules-section describing rules of deductive inference, an expressions-section having values corresponding to calculation results of a simple term corresponding to either a right side or left side of equation and describing the other side as a polynomial including a known function. The system also has an attributes-section declaring various natures and values of attributes used in inferencing and calculations and declaring control parameters passing between a deductive inference process and calculation process according to calculation formulae, and a deductive inference engine for performing deductive inference on the basis of the rules stored in the knowledge base, calculation formula and attributes.
According to the expert system constructed in this manner, deductive inference is performed by the deductive inference engine on the basis of the rules stored in the knowledge base, the calculation formula and the attributes. Therefore, the detection of faulty logic by means of specific formula and the calculation of parameters representing the fault during inferencing, and can be processed.
The expressions-section takes the form of a list of calculation formula with formula numbers. The calculation formulas take the form of equality and either the left side or right side thereof is a result of calculation in the form of a simple term. The other side describes an operation formula for obtaining the result. The operation formula is a general polynomial and may include operational symbols such as addition, subtraction, multiplication, division, exponential, parenthesis and known functions such as sine and cosine, etc. Therefore, the description of an operational formula takes a general form which can be described even by a person who has no knowledge of a computer.
For simplicity of description, the calculation result is placed on the right side of a formula and an operational term is placed on the left side .